package io.adrainty.bolee.insurance.repository;

import com.baomidou.mybatisplus.core.metadata.IPage;
import io.adrainty.bolee.insurance.models.entity.SafeguardEntity;

import java.util.List;

/**
 * @author AdRainty
 * @version V1.0.0
 * @since 2025/8/10 下午9:47
 */
public interface ISafeguardRepository {

    /**
     * 分页获取保障项
     *
     * @param pageNum   页码
     * @param pageSize  页大小
     * @param searchDTO 查询条件
     * @return 分页数据
     */
    IPage<SafeguardEntity> findSafeguardPage(Integer pageNum, Integer pageSize, SafeguardEntity searchDTO);

    /**
     * 获取保障项列表
     *
     * @param entity 保障项实体
     * @return 保障项BO列表
     */
    List<SafeguardEntity> findSafeguardList(SafeguardEntity entity);

    /**
     * 创建保障项
     *
     * @param entity 保障项实体
     * @return 保障项BO
     */
    boolean createSafeguard(SafeguardEntity entity);

    /**
     * 更新保障项
     *
     * @param entity 保障项实体
     * @return 保障项BO
     */
    boolean updateSafeguard(SafeguardEntity entity);

    /**
     * 删除保障项
     *
     * @param deleteIdList 删除ID列表
     * @return 删除结果
     */
    boolean deleteSafeguard(List<String> deleteIdList);

}
